package edu.fasta.sisinfo2.juegos;



public class DoblePar implements Juego {

	private Par parUno = new Par(null, null);
	private Par parDos = new Par(null, null);
	
	public DoblePar(Par unPar, Par otroPar){
		this.setParUno(unPar);
		this.setParDos(otroPar);
	}
	

	public Juego compararJuego(EscaleraReal unaEscaleraReal){
		return unaEscaleraReal;
	}
	
	public Juego compararJuego(EscaleraColor unaEscaleraColor){
		return unaEscaleraColor;
	}
	
	public Juego compararJuego(Poker unPoker){
		return unPoker;
	}
	
	public Juego compararJuego(Full unFull){
		return unFull;
	}
	
	public Juego compararJuego(Color unColor){
		return unColor;
	}
	
	public Juego compararJuego(Escalera unaEscalera){
		return unaEscalera;
	}
	
	public Juego compararJuego(Trio unTrio){
		return unTrio;
	}
	
	public Juego compararJuego(DoblePar unDoblePar){
		if((this.getParDos().compararJuego(unDoblePar.getParDos())) != null){ //si los pares mas altos no son iguales
			if(this.getParDos().compararJuego(unDoblePar.getParDos()) == this.getParDos()){ 
				return this;
			}else{
				return unDoblePar;
			}
		}else{ //si los pares mas altos son iguales
			if(this.getParUno().compararJuego(unDoblePar.getParUno()) != null){ //si los pares mas bajos no son iguales
				if(this.getParUno().compararJuego(unDoblePar.getParUno()) == this.getParUno()){
					return this;
				}else{
					return unDoblePar;
				}
			}
		}
		System.out.println("Dobles pares empatados...");//Dobles pares empatados
		return null;
	}
	
	public Juego compararJuego(Par unPar){
		return this;
	}
	
	public Juego compararJuego(CartaAlta unaCartaAlta){
		return this;
	}

	public Par getParUno() {
		return parUno;
	}

	public void setParUno(Par parUno) {
		this.parUno = parUno;
	}

	public Par getParDos() {
		return parDos;
	}

	public void setParDos(Par parDos) {
		this.parDos = parDos;
	}


	public Juego compararJuego(Juego unJuego) {
		return unJuego.compararJuego(this);
	}
	
	public String queSos() {
		return "un Doble Par formado por: " + this.getParUno().queSos() + this.getParDos().queSos();
	}

}
